// services/good/fetchGoodDetails.js
const config = require('../../utils/config');
import { apiRequest } from '../_utils/apiRequest';

/**
 * 获取商品详情
 * @param {string} id - 商品 ID
 * @returns {Promise<object|null>} - 返回商品详情的 Promise，如果失败则返回 null
 */
export const fetchGoodDetails = async (id) => {
  try {
    const productData = await apiRequest({
      url: `${config.backendApiUrl}/wines/${id}`,
      method: 'GET',
    });

    // 拼接图片 URL
    let imgUrl = productData.imageUrl;
    if (!imgUrl.startsWith('/')) {
      imgUrl = '/' + imgUrl;
    }
    productData.imageUrl = `${config.backendUrl}${imgUrl}`;

    // 处理商品详情图片数组
    if (Array.isArray(productData.images)) {
      productData.images = productData.images.map(img => {
        if (!img.startsWith('/')) {
          img = '/' + img;
        }
        return `${config.backendUrl}${img}`;
      });
    } else {
      productData.images = []; // 确保 images 至少是空数组，避免前端异常
    }
    
    return productData;
  } catch (error) {
    console.error('获取商品详情失败', error);
    return null; // 返回 null 表示失败
  }
};
module.exports = fetchGoodDetails;
